package com.wing.purchase.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @Description: 采购-质检任务
 * @Project: pur_quality_testing_task
 * @Date: 2024/12/26 10:28
 * @Author: heZhou
 * @Version: 1.0
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "pur_quality_testing_task")
public class PurQualityTestingTask extends BaseEntity<PurQualityTestingTask> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 质检任务编码
     */
    private String code;

    /**
     * 质检分类id
     */
    private Long qualityTestingCategoryId;

    /**
     * 质检分类
     */
    @TableField(exist = false)
    private String qualityTestingCategoryName;

    /**
     * 质检类型id
     */
    private Long qualityTestingTypeId;

    /**
     * 质检类型
     */
    @TableField(exist = false)
    private String qualityTestingTypeName;

    /**
     * 送检数量
     */
    private Integer submissionQuantity;

    /**
     * 不合格数
     */
    private Integer notQuantity;

    /**
     * 状态:inspect(0,送检中);finish(1,完成);confirm(2,待认领);close(3,关闭)
     */
    private String status;

    @TableField(exist = false)
    private String statusName;

    /**
     * 检测工站编号
     */
    private String inspectDeviceCode;

    /**
     * 载具编码
     */
    private String carrierCode;


    /**
     * 质检性质
     */
    private Long qualityTestingNatureId;

    /**
     * 质检性质
     */
    @TableField(exist = false)
    private String qualityTestingNatureName;

    /**
     * 创建人岗位id
     */
    private Long submitPostId;

    /**
     * 创建人部门id
     */
    private Long submitDepId;

    /**
     * 质检类型
     */
    private String qcQualityTypeId;

    @TableField(exist = false)
    private String qcQualityTypeName;

    /**
     * 批次号
     */
    private String batchNumber;

    /**
     * 合格数
     */
    private Integer okQuantity;

    /**
     * 返修数
     */
    private Integer returnQuantity;

    /**
     * 报废数
     */
    private Integer ngQuantity;

    /**
     * 来源
     */
    private String sourceType;

    /**
     * 来源名称
     */
    @TableField(exist = false)
    private String sourceTypeName;

    /**
     * 订单id/供应商发货记录id
     */
    private Long orderId;

    /**
     * 订单code/供应商发货记录code
     */
    private String orderCode;

    /**
     * 物料id
     */
    private Long productDetailId;

    /**
     * 物料code
     */
    @TableField(exist = false)
    private String skuCode;

    /**
     * 物料规格
     */
    @TableField(exist = false)
    private String skuSpec;

    /**
     * 物料名称
     */
    @TableField(exist = false)
    private String skuName;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 供应商名称
     */
    @TableField(exist = false)
    private String supplierName;

    /**
     * 认领id
     */
    private Long getId;

    /**
     * 认领名称
     */
    private String getName;

    /**
     * 认领时间
     */
    private LocalDateTime getTime;

    /**
     * 认领人部门
     */
    private Long getPostId;

    /**
     * 认领人岗位
     */
    private Long getDepId;
}
